package com.petRescueCenter.demo.common.util;

import java.io.File;

/**
 * 在windows和linux系统下均可正常使用 获取项目根路径
 */
public class ProjectPath {
	// 获取项目的根路径
	public final static String classPath;

	static {
		// 获取的是classpath路径，适用于读取resources下资源
		classPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
	}

	/**
	 * 项目根目录
	 */
	public static String getRootPath() {
		return RootPath("");
	}

	/**
	 * 自定义追加路径
	 */
	public static String getRootPath(String u_path) {
		if (classPath.endsWith("/")) {
			if (u_path.startsWith("/"))
				return RootPath(u_path.substring(1));
			else
				return RootPath(u_path);
		} else {
			if (u_path.startsWith("/"))
				return RootPath(u_path);
			else
				return RootPath("/" + u_path);
		}

	}

	/**
	 * 私有处理方法
	 */
	private static String RootPath(String u_path) {
		String rootPath = "";
		// windows下
		if ("\\".equals(File.separator)) {
			// System.out.println(classPath);
			rootPath = classPath + u_path;
			rootPath = rootPath.replaceAll("/", "\\\\");
			if (rootPath.substring(0, 1).equals("\\")) {
				rootPath = rootPath.substring(1);
			}
		}
		// linux下
		if ("/".equals(File.separator)) {
			// System.out.println(classPath);
			rootPath = classPath + u_path;
			rootPath = rootPath.replaceAll("\\\\", "/");
		}
		return rootPath;
	}

}